Oracle教程之管理UNDO(五)

您所在的位置:网站首页 oracle undo表空间满了 Oracle教程之管理UNDO(五)

Oracle教程之管理UNDO(五)

#Oracle教程之管理UNDO(五)| 来源: 网络整理| 查看: 265

Oracle教程之管理UNDO(五)--UNDO表空间满了的处理方法 精选 转载

Oracle小混子 2013-04-01 10:32:42

文章标签 UNDO 表空间满 UNDO表空间满怎么办 管理UNDO Oracle教程 文章分类 Oracle 数据库

1、先模拟UNDO 表空间满的情况SQL>  alter system set undo_retention=10800; -- 3个小时系统已更改。SQL> create undo tablespace undo datafile 'F:\backup\undo.dbf' size 1m ;表空间已创建。SQL> alter tablespace undo retention guarantee;表空间已更改。SQL> alter system set undo_tablespace=undo;系统已更改。SQL> create table DBA(id number);表已创建。SQL> begin2  for i in 1 .. 100000 loop3  insert into dba values(i);4  commit;5  end loop;6  end;7  /begin*第 1 行出现错误:ORA-30036: 无法按 8 扩展段 (在还原表空间 'UNDO' 中)ORA-06512: 在 line 32、处理方法处理方法有两种,一是添加undo 表空间的数据文件,二是切换UNDO tablespace. 这种情况下多用在undo 表空间已经非常大的情况。(1)增加数据文件SQL> ALTER TABLESPACE undo ADD DATAFILE 'F:\backup\undo02.dbf' size 100M reuse;表空间已更改。SQL> begin2  for i in 1..100000 loop3  insert into dba values(1);4  commit;5  end loop;6  end;7  /PL/SQL 过程已成功完成。(2)切换UNDO 表空间1、建立新的表空间UNDOTBS2SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'F:\backup\undo03.dbf' size 100M reuse;表空间已创建。2、切换到新建的UNOD表空间上来,操作如下SQL> alter system set undo_tablespace=UNDOTBS2 scope=both;系统已更改。3、将原来的UNDO表空间,置为脱机:SQL> alter tablespace UNDO offline;表空间已更改。4、删除原来的UNDO表空间:SQL> drop tablespace UNDO including contents AND DATAFILES CASCADE CONSTRAINTS ;表空间已删除。如果只是drop tablespace UNDO ,则只会在删除控制文件里的记录,并不会物理删除文件。Drop undo表空间的时候必须是在未使用的情况下才能进行。如果undo表空间正在使用(例如事务失败,但是还没有恢复成功),那么drop表空间命令将失败。在drop表空间的时候可以使用including contents。CUUG更多oracle视频教程请点击:http://crm2.qq.com/page/portalpage/wpa.php?uin=800060152&f=1&ty=1&aty=0&a=&from=6 收藏 评论 分享 举报

上一篇:Oracle教程之管理UNDO(六)--UNDO 表空间损坏的恢复方法

下一篇:Oracle教程之管理UNDO(四)--前滚和回滚



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3